AWK একটি শক্তিশালী টুল যা ফাইল থেকে ডেটা বের করা (Data Extraction) এবং ফাইলে ডেটা লিখার (Data Writing) কাজকে সহজ এবং কার্যকর করে। এটি টেক্সট ফাইলের লাইন এবং ফিল্ড বিশ্লেষণ করে নির্দিষ্ট ডেটা প্রক্রিয়া করতে পারে। নিচে AWK ব্যবহার করে কিভাবে ফাইল থেকে ডেটা বের করা এবং ফাইলে ডেটা লেখা যায় তার বিস্তারিত উদাহরণ দেওয়া হলো।
AWK ব্যবহার করে ফাইল থেকে নির্দিষ্ট ফিল্ড বা প্যাটার্ন অনুযায়ী ডেটা বের করা যায়।
awk '{print $1, $3}' input.txt
এখানে, input.txt
ফাইলের প্রথম এবং তৃতীয় কলাম প্রিন্ট হবে।
awk '/error/ {print $0}' log.txt
এখানে, log.txt
ফাইলের যেসব লাইনে "error" শব্দ রয়েছে, সেগুলি প্রিন্ট হবে।
AWK ব্যবহার করে ডেটা প্রসেস করে তা নতুন ফাইলে বা বিদ্যমান ফাইলে লেখা সম্ভব।
awk '{print $1, $3}' input.txt > output.txt
এখানে, input.txt
ফাইলের প্রথম এবং তৃতীয় কলাম output.txt
ফাইলে লেখা হবে। >
অপারেটরটি ব্যবহার করে বিদ্যমান ফাইল ওভাররাইট করা হয়।
awk '/success/ {print $0}' log.txt >> result.txt
এখানে, log.txt
ফাইলের যেসব লাইনে "success" শব্দ রয়েছে, সেগুলি result.txt
ফাইলে অ্যাপেন্ড করা হবে। >>
অপারেটরটি বিদ্যমান ফাইলে ডেটা যোগ করে।
AWK এ BEGIN
এবং END
ব্লক ব্যবহার করে ফাইল লেখার আগে বা পরে নির্দিষ্ট কমান্ড চালানো যায়।
awk 'BEGIN {print "Processing starts"} {print $1, $2} END {print "Processing ends"}' input.txt > output.txt
এখানে, input.txt
ফাইলের প্রথম এবং দ্বিতীয় কলাম output.txt
ফাইলে লেখা হবে এবং ফাইলের শুরুতে "Processing starts" এবং শেষে "Processing ends" লেখা হবে।
AWK এর ক্ষমতা Shell Script এর মধ্যে সংযোজন করা হলে ডেটা প্রসেসিং আরও উন্নত হয়।
run_script.sh:
#!/bin/bash
# ফাইল থেকে ডেটা পড়ে নতুন ফাইলে লেখা
awk '{if ($2 > 50) print $0}' data.txt > filtered_data.txt
এখানে, data.txt
ফাইলের যেসব লাইনে দ্বিতীয় কলামের মান ৫০ এর বেশি, সেগুলি filtered_data.txt
ফাইলে লেখা হবে।
AWK ব্যবহার করে ফাইল থেকে ডেটা বের করা এবং ফাইলে ডেটা লেখার কাজ অত্যন্ত কার্যকরভাবে করা যায়। এটি সহজ সিনট্যাক্স এবং শক্তিশালী ফিচারের মাধ্যমে ডেটা প্রসেসিং এবং বিশ্লেষণের কাজকে দ্রুত এবং সুশৃঙ্খল করে তোলে। >
এবং >>
অপারেটর ব্যবহার করে ডেটা নতুন ফাইলে লেখা বা বিদ্যমান ফাইলে অ্যাপেন্ড করা যায়। Shell Script এর সাথে AWK এর সমন্বয় ডেটা ম্যানিপুলেশনের শক্তিশালী সমাধান প্রদান করে।
common.read_more